function person(name, age) {
  this.name = name;
  this.age = age;
  this.getName = function () {
    return this.name;
  }
}

const p1 = new person('XIAO', 25);
console.log(p1)  // person { name: 'XIAO', age: 25 }

const bindFn = p1.getName.bind(p1, ['lin', 10])  // 现在bindFn就牢牢的绑定了p1这个对象和getName函数,执行它内部就一直指向的是p1这个对象
console.log(bindFn) // 不执行这个绑定后的函数 打印[Function: bound ]
console.log(bindFn())  // 打印p1对象的XIAO